I. Field of the Invention
The present invention relates to network management and, more particularly, to a system and method for controlling, monitoring and retrieving accounting data by a network manager from its managed network components.
II. Background and Prior Art
Data communication has become a fundamental part of computing. World-wide networks gather data about such diverse subjects as atmospheric conditions, crop production, and airline traffic. These network have evolved as independent entities without the ability, or, until recently, the need, to interconnect with one another. New technologies, generically named "internetworking", have emerged making it possible to interconnect many disparate physical networks and make them function as a coordinated unit. Using internetworking technologies, a host, for example, on one network, may traverse multiple networks and communicate with another host on a different network.
The size of an "internet", Or group of interconnected networks, can vary quite significantly. For instance, the resulting network may be enormously large, such as the nation-wide DARPA (Defense Advanced Research Projects Agency)/NSF (National Science Foundation) Internet which connects most major research institutions, including universities, corporate and government labs. Conversely, the network may be relatively small, comprising only a single corporation's individual local area networks (LANs).
No matter the size of the network, it is clear that the task of effectively managing the resulting interconnected network is quite important and has been given a great deal of attention in the networking community. In managing an interconnected network, a network manager must keep track of the devices on the network, monitor the network's performance and load, and diagnose and correct any problems.
The network manager is charged with, among other things, monitoring network performance and status, controlling operational parameters, and reporting, analyzing and isolating faults in its managed domain. Furthermore, the manager must keep an accounting of the activity in its managed domain for customer billing, performance analysis, capacity planning and problem determination. In order to effectively accomplish these functions, the manager requires precise and timely accounting data regarding the network activity from the nodes in the network.
Using presently available network management protocols such as SNMP (Simple Network Management Protocol) and CMIP (Common Management Information Protocol), network administrators (via "Managers") can address queries and commands to managed network nodes and devices (via "Agents") in order to retrieve this accounting data.
FIG. 1 illustrates a simplified network having four interconnected nodes, Node 1, Node 2, Node 3 and Node 4. The nodes are logically interconnected by transmission groups (TGs). As can be seen, Node 1 is connected to Node 2 by TG A, Node 1 to Node 4 by TG E, and so forth. Each node is a managed network device and has an Agent (agent1, agent2, agent3, agent4) for collecting management data and for responding to the Manager, which is logically connected to each Agent. The management data includes accounting data for different categories of data traffic.
Using present accounting monitoring and retrieval systems and methods, the Manager gathers the accounting data and storing the data in accounting files (e.g., Agent1's File1 and File2) from its Agents in a rather straight forward manner. After the Agent begins collecting the accounting data, the Manager explicitly retrieves the collected data through a request/response sequence or the data is automatically sent to the Manager (without being requested or solicited).
FIGS. 2A and 2B illustrate these traditional accounting retrieval methods, respectively. In particular, FIG. 2A illustrates the flow of messages exchanged between a Manager and an Agent where the Manager is requesting that the Agent collect some particular accounting data and retrieves it data object-by-data object. The messages are illustrated as arrows pointing in the direction of the message flow, the message indicator being positioned directly above its corresponding arrow.
Initially, as discussed above, the Manager requests that the Agent begin collecting some particular accounting data, such as, for example, data regarding the traffic for a specific network protocol. After some period of time, the Manager issues a request for the first data object (Data Object 1). This is accomplished by the Manager using the specific management protocol commands. For example, using the SNMP protocol, the Manager Would issue a GetNextRequest PDU (Protocol Data Unit) without specifying any instance of the data object. The Agent then responds with the first data object using the corresponding protocol command, i.e. , GetResponse in the SNMP protocol. In the present example, the Agent responds with the first data object (Data Object 1), if it has already collected it. The Manager follows with a request for the data object after Data Object 1 and the Agent replies with Data Object 2. The Manager then requests the data object after Data Object 2. Because the Agent has not yet collected this data object, it responds to the Manager with a "No Such Data Object" response, indicating to the Manager that it has not yet collected that data object. After a period of time, the Manager again requests the data object after Data Object 2. Again, the Agent has not yet collected that object. Some time later, the Manager retries to retrieve the data object after Data Object 2. By this time, the Agent has collected the data object and sends it to the Manager. This example has been described as the Manager requesting and receiving the accounting data on an object-by-object basis. Alternatively, however, the Manager may request and receive the data on a record-by-record basis where a record contains a predetermined number of objects.
Clearly, this is a cumbersome and inefficient process for both the Manager and the Agent. Using this prior art technique, both the Manager and Agent are responsible for dedicating a large percentage of processing time to accommodate the retrieval of accounting data. This interferes with the primary functions of both the Manager and the Agent.
FIG. 2B illustrates another prior art method of collecting, monitoring and retrieving accounting data. Using this technique and system, the .Manager initially requests that the Agent begin collecting the particular accounting data. The Agent, as it collects this accounting data, sends the data objects to the Manager in an asynchronous manner such as by using interrupts. As with the example above, the data may be sent to the Manager in an object-by-object basis or in a record-by-record basis.
As with the previous method, the Manager initially requests that the Agent begin the collection of accounting data. After the Agent has collected the first data object (Data Object 1), it sends the data object to the Manager using a type of interrupt. In a similar manner, the Agent sends the remaining data objects as they are collected (Data Object 2, Data Object 3 . . . Data Object n, where n is the total number of records that the Manager wants the Agent to collect). Also, as with the previous technique, the Agent may send a predetermined number of data objects rather than one at a time.
This prior art technique also has many disadvantages. First, the Manager may be interrupted in its primary function or other tasks having higher priority than the receipt of accounting data, and the sporadic receipt of that data from the Agent may interfere with the performance of those tasks. Further, such sporadic bursts of network activity may impact the performance of the network. Finally, such accounting data may be lost in transit with little or no error control. This strategy is deemed unacceptable from a reliability perspective as the interrupt and the data may never reach the Manager--and/or cannot be controlled by the Manager.
Presently, there is no mechanism for allowing the Manager to effectively control, monitor, and receive accounting data from its Agents.